Real world information often has a finite lifetime that describes how long it can be relied on; that is, how long it is valid. Examples include an airline ticket price, the availability of a seat at a concert or the current blood pressure reading from a blood pressure monitor. The lifetime of each of these values would be quite different, ranging from very brief to quite long lived, but in each case, after some duration, the information should no longer be relied on. This lifetime can be described as the amount of time the information is “live” which can be shortened to “time to live” (“TTL”).
Information lifetime is complicated for software systems to represent and act on consistently. Such software systems frequently rely on human domain knowledge to understand the lifetime and interpret the information properly. In the case of short-lived information, like ticket availability, software systems frequently use error feedback to indicate that a ticket is no longer available.
As an example imagine a person trying to book an airline flight. They search the airline system and find a flight at a price they like. They then consult about the details and get interrupted by a phone call. When they return to their computer to complete the booking, the checkout process will often fail with a message that the booking must be restarted because the selected rate is no longer available. This interaction was probably handled entirely within a single software system.
Managing information lifetime is even more complicated when the information is shared between software systems. First the software system that is the source of the information has to share lifetime information at an agreed on granularity for each item of shared information. Often, the granularity of the information being shared does not match the granularity of the lifetime information held in the host software system, further complicating the task. Next, the software system that is receiving the shared information has to understand the lifetime information. Usually this depends on a convention or standard established between the two software systems. Finally the receiving software system has to enforce the lifetime and take action when it expires, possibly by informing the user and then requesting a new copy of the information.
It is therefore an object of the invention to provide a novel method and system for managing the lifetime of semantically-identified data.